﻿using System;
using System.Collections.Generic;
using System.Text;

namespace FlashPay.DAO.Interface
{
    using FlashPay.EF;
    using FlashPay.EF.Models;
    using FlashPay.Entity;
    using FlashPay.Entity.Request.Payment;
    using FlashPay.Entity.Request.PaymentInterface;

    /// <summary>
    /// 付款接口
    /// </summary>
    public interface PaymentInterfaceDao
    {
        /// <summary>
        /// 根据付款接口
        /// </summary>
        PaymentInterface GetById(int companyId);

        /// <summary>
        /// 新增付款接口
        /// </summary>
        /// <param name="userInfo">新增对象</param>
        /// <returns></returns>
        int Add(PaymentInterface model);

        /// <summary>
        /// 更新付款接口
        /// </summary>
        /// <param name="CardMerchant">修改对象</param>
        /// <returns></returns>
        bool Update(PaymentInterface model);

        /// <summary>
        /// 根据编号付款接口
        /// </summary>
        PaymentInterface GetByPaymentInterface(int paymentInterfaceId);

        /// <summary>
        /// 新增或更新付款接口
        /// </summary>
        /// <param name="CardMerchant">修改对象</param>
        /// <returns></returns>
        JResult PaymentInterfaceAddOrUpdate(PaymentInterfaceAddOrEditRequest request);

        /// <summary>
        /// 增加、减少余额
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        JResult PaymentInterfaceBalance(PaymentInterfaceBalanceRequest request);

        /// <summary>
        /// 获取
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        sbyte GetPanmentType(PaymentRecordAddRequest request);
    }
}
